var eventproxy=require('eventproxy');
var ep=new eventproxy();
function check(key,cb){
    cb(null,true);
}
function mockGet(cb){
    setTimeout(function () {
        console.log('网络请求...');
        if(Math.random()<0.5){
            cb(null,'网络请求');
        }else{
            cb({msg:'网络请求错误'});
        }
    },Math.random()*1000|0);
}

function mockRead(cb){
    setTimeout(function () {
        console.log('读取文件...');
        if(Math.random()<0.5){
            cb(null,'读取文件');
        }else{
            cb({msg:'读取文件错误'});
        }
    },Math.random()*1000|0);
}

function mockQuery(cb){
    setTimeout(function () {
        console.log('查询数据库...');
        if(Math.random()<0.5){
            cb(null,'查询数据库');
        }else{
            cb({msg:'查询数据库错误'});
        }
    },Math.random()*1000|0);
}
//--------------------------------

check('key', function (err, result) {
    if(err)return ep.emit('error',err);
    ep.emit('check',result);
});

ep.on('check', function (result) {
    if(result){
        mockGet(function (err, data) {
            if(err)return ep.emit('error',err);
            ep.emit('get',data);
        });
    }
});

ep.on('get', function (data) {
    console.log('data:',data);
});

ep.on('error', function (err) {
    console.log('error:',err);
});




